Methods, media, and systems for computer-based learning

ABSTRACT

Methods, systems, and media for computer-based learning are provided. In some embodiments, methods for leaching a student in a computer-based learning environment are provided, the methods comprising: identifying a concept to be taught to the student; accessing a learning profile for the student, wherein the learning profile identifies at least one category of content as being more successful than other categories in teaching the student; selecting content based on the student learning profile, the concept to be taught, and a categorization of the content; and presenting the content to the student.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation under 35 U.S.C. §120 of U.S. patentapplication Ser. No. 14/165,096, filed Jan. 27, 2014, which is acontinuation under 35 U.S.C. §120 of U.S. patent application Ser. No.12/192,112, filed Aug. 14, 2008, which claims the benefit of U.S.Provisional Patent Application No. 60/955,805, filed Aug. 14, 2007, eachof which is hereby incorporated by reference herein in its entirety.

TECHNICAL FIELD

The disclosed subject matter relates to methods, systems, and media forcomputer-based learning.

BACKGROUND

With the wide spread availability of computer systems and Internetaccess around the world, and the need for flexibility in the usage ofone's time for learning new things, computer-based learning has rapidlygrown in popularity in recent years. Such computer-learning systems canbe stand-alone systems that operate on a single device, or can beInternet-based systems that operate in a client-server architecture.

Much room for improvement exists in the quality of teaching provided byprior computer-based learning systems. Accordingly, in accordance withvarious embodiments, methods, systems, and media for computer-basedlearning are provided.

SUMMARY

Methods, systems, and media for computer-based learning are provided. Insome embodiments, methods for teaching a student in a computer-basedlearning environment are provided, the methods comprising: identifying aconcept to be taught to the student; accessing a learning profile forthe student, wherein the learning profile identifies at least onecategory of content as being more successful than other categories inteaching the student; selecting content based on the student learningprofile, the concept to be taught, and a categorization of the content;and presenting the content to the student.

In some embodiments, computer-readable media containingcomputer-executable instructions that, when executed by a processor,cause the processor to perform a method for teaching a student in acomputer-based learning environment are provided, the method comprising:identifying a concept to be taught to the student; accessing a learningprofile for the student, wherein the learning profile identifies atleast one category of content as being more successful than othercategories in teaching the student; selecting content based on thestudent learning profile, the concept to be taught, and a categorizationof the content; and presenting the content to the student.

In some embodiments, systems for teaching a student in a computer-basedlearning environment are provided, the systems comprising: a processorthat: identifies a concept to be taught to the student; accesses alearning profile for the student, wherein the learning profileidentifies at least one category of content as being more successfulthan other categories in teaching the student; selects content based onthe student learning profile, the concept to be taught, and acategorization of the content; and presents the content to the student.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram of a teaching user interface in accordance with someembodiments.

FIG. 2 is a diagram of communication flow in accordance with someembodiments.

FIG. 3 is a diagram of a study user interface in accordance with someembodiments.

FIG. 4 is a diagram of a learning session process in accordance withsome embodiments.

FIG. 5 is a diagram of a process for creating a syllabus in accordancewith some embodiments.

FIG. 6 is a diagram of a process for performing an assessment inaccordance with some embodiments.

FIG. 7 is a diagram of a process for selecting a concept from a lessonin accordance with some embodiments.

FIG. 8 is a diagram of a process for presenting a concept in accordancewith some embodiments.

FIG. 9 is a diagram of a process for selecting a strategy for presentinga concept in accordance with some embodiments.

FIG. 10 is a diagram of a process for updating a strategy in accordancewith some embodiments.

FIG. 11 is a diagram of a process for updating a syllabus in accordancewith some embodiments.

FIG. 12 is a diagram of a process for receiving and tagging content inaccordance with some embodiments.

FIG. 13 is a diagram of a process for automatically selecting tags forcontent in accordance with some embodiments.

FIG. 14 is a diagram of a process for creating an assessment inaccordance with some embodiments.

FIG. 15 is a diagram of a process for cloning content in accordance withsome embodiments.

FIG. 16 is a diagram of a process for creating a lesson and/or course inaccordance with some embodiments.

FIG. 17 is a diagram of an interface for a content marketplace inaccordance with some embodiments.

FIG. 18 is a diagram of a process for a content marketplace inaccordance with some embodiments.

FIG. 19 is a diagram of an interface for a concept map view inaccordance with some embodiments.

FIG. 20 is a diagram of an interface for a performance breakdown inaccordance with some embodiments.

FIG. 21 is a diagram of system for implementing computer-based learningin accordance with some embodiments.

DETAILED DESCRIPTION

In accordance with various embodiments, as described in more detailbelow, mechanisms for computer-based learning are provided.

Turning to FIG. 1, an example of a teaching interface 100 in accordancewith some embodiments is illustrated. As shown, interface 100 caninclude one or more video regions 102 and 104, a text chat window 106,and a white board space 108. The video regions can contain still imagesof class participants (such as a teacher, a student, etc.), live videoof class participants, or any other suitable image(s) and/or videocontent. By providing live video, students may be pressured intoattending class regularly and on time. This live video can also berecorded and played back at a later time to help students make up missedclasses, and/or review previously taken classes.

The text chat window can be used to conduct a chat session between ateacher, a teaching assistant, and/or one or more students. As shown, a“Privacy” button 110 can be provided in the chat window to prevent astudent's question and a corresponding answer, and/or student'sidentity, from being displayed to other class participants (e.g., suchas other students). To enable a teacher and/or teaching assistant torapidly respond to questions, in some embodiments, pre-formatted answersto common questions may be provided to the teacher and/or teachingassistant so that he or she can drag and drop the pre-formatted answersinto the chat.

The white board space can be used to provide visual teaching content,such as text (in hand written or typed format), images (pictures, clipart, diagrams, charts, graphs, tables, hand sketched drawings, etc.),and/or any other suitable content. The teacher can write on thewhiteboard, like a “telestrator” on TV. The teacher can substitute outpractice questions from the pre-built lesson and substitute in otherquestions that are either easier or more difficult, as the class'performance warrants.

Although not shown in the illustrative interface in FIG. 1, in someembodiments, the teacher can also conduct instant polling via a teachinginterface. For example, a poll question and one or more spaces forresponses (such as a data entry field and/or radio buttons (e.g., fortrue/false or multiple-choice questions)) can be provided in the whiteboard space of interface 100 in some embodiments.

FIG. 2 illustrates an example of communication activity that can takeplace during a class session in accordance with some embodiments. Asshown, a teacher 202 can teach a class by delivering live video andwhite board instruction 204 to students 206. One or more teachingassistants 208 and 210 can conduct chat sessions 212 and 214 withstudents to assist them in understanding the teacher's lesson. Duringdown time (e.g., when the students are either reading passages or doingpractice questions), the teacher can talk (e.g., via a chat window) at216 and 218 with one or more of the teaching assistants to betterunderstand what types of questions the students are asking. The teachercan then use this information to make comments to the students via thelive video like: “I see many of you are having trouble with Question#2,” or “Choice B was a very tempting wrong answer choice for many ofyou,” or “Let's go back and cover that concept again because I see a lotof you are asking questions about it,” and so on.

In some embodiments, students can be evaluated using any suitablesources of information on the students. For example, a student can beevaluated using practice questions, quizzes, tests, instant polling, andinformation from teaching assistants (who may be conducting chatsessions with the student, for example). In some embodiments, based onthese evaluations, a syllabus of learning content (such as classes,lessons, home work assignments, tests, quizzes, study aids, etc.) thatis delivered to a student can be tailored to the knowledge level of thatstudent.

For example, skills-only quizzes that measure whether a given studenthas mastered a given concept at a given difficulty level can be given.These quizzes can include questions that test exactly one topic each (atypical SAT/GMAT question contains more than one topic). In someembodiments, the answers to these questions can be numbers or words thatmust be keyed in with a keyboard (as opposed to multiple choice). Thisreduces the element of students guessing the right answer through luckand confusing the system. True/False questions, which can also be used,are also an excellent question type for skills assessment, especiallyfor non-quantitative topics. While guessing is easy in True/False, thequestions are so short and quick to answer that the same amount of quiztime can yield more information.

Based on such quizzes, both explanatory learning content (e.g., text,video, etc.) and follow-up skills quizzes can be assembled. Thisdynamically assembled content can be unique to, and tailored for, eachstudent. For example, a student having trouble with a particular conceptcan be given more learning content on that concept, and then morepractice questions. Once the concept has been mastered on easydifficulty questions, the student can be given medium difficultyquestions, then high difficulty questions, etc. Once the concept hasbeen mastered, the concept can be removed from the student's dailysyllabi, except, perhaps, for an occasional review question forretention. In this way, an “Adaptive Learning” experience can beprovided.

Any suitable mechanism or logic can be used to determine what contentand/or follow-up quizzes are delivered based on previous evaluations orassessments in accordance with some embodiments. For example, pre-codedalgorithms (which can be updated as necessary) can be generated bysubject-matter experts who produce a given course and/or teachers of agiven course. Such algorithms can specify, for example, whatpre-requisites (such as completed classes or assignments, quiz scores,etc.) need to be achieved before a student can receive correspondinglearning content. In this way, such algorithms can control the flow oflearning content to a student, and dictate the milestones that must beachieved for the student to progress down that flow.

As another example, strategies used by other students can also be usedto determine what content and/or follow-up quizzes are delivered basedon previous evaluations or assessments. For example, if one strategy (orformat) of teaching (e.g., such as delivering video content, orproviding a large number of drill questions) was particularly successfulin teaching a large number of students (or a student with similar traitsto a present student), that same strategy may yield better results inteaching the present student than other strategies. For a givenconceptual failure by a student, strategies used to successfully teachpast students who had that same conceptual roadblock can be evaluated todetermine what next steps were most effective at getting those studentspast the conceptual roadblock. The present student can then be assignedthe most-successful path forward. As strategies increase in the numberof times they prove to be successful, the likelihood of that strategybeing selected for a present student can then be increased.

In some embodiments, reports on student performance can be provided.These reports may be provided at regular intervals and/or as the needarises (such as when a student is falling behind other students).Reports can be provided to any suitable interested party, such as thestudent, the student's parent(s) and/or guardian(s), school (e.g.,teacher, principal, etc.), employer, etc. These reports can be deliveredusing any suitable mechanism such as email, text message, facsimile, Webpage, instant message, mail, etc.

In some embodiments, reports can include any suitable information. Forexample, reports can include information on the activity of a student,the effort of a student, the improvement of a student, the grades (e.g.,on quizzes, etc.) of a student, the mastery level of a student, etc. Forexample, activity information can include how much time a student spentin using the learning system. As another example, effort information caninclude how much time was spent reading or watching any given content,how much time was spent on given practice questions, etc. As yet anotherexample, improvement information can include how fast the student ismastering concepts and increasing in difficulty level. As a furtherexample, grades information can include information on major tests,daily quizzes, etc. As another further example, mastery information caninclude a student's current mastery level of any given curriculum—e.g.,a student is getting 80% of test questions on a corresponding conceptcorrect.

In some embodiments, reports for a test preparation course (e.g., acourse to prepare a student to take the SAT. LSAT, GRE, etc. test) caninclude a prediction of the score that a student may get if the studentwere to take the test at the time of the report.

Reports can provide three kinds of information: absolute; relative; andjudgmental, in some embodiments. For example, reports can reportabsolute, objective data on what scores a student is getting on tests,quizzes, etc. As another example, reports can additionally oralternatively give relative, objective data on how that student comparesto other students studying the same material. As yet another example,reports can additionally or alternatively give “subjective” judgments,such as: “Stop goofing around! You're logged into the system for hoursat a time but hardly doing any work.”; “Work smart to get smart: you'remaking the same mistakes over and over! Carefully study the explanationevery time you make a mistake. If you don't learn from (your own)history, you're doomed to repeat it!”; and “You're really stuck on theconcept of negative exponents. And e-mail alert is being sent to yourteacher as you read this, so that you can get some tutoring right awayon this intuitive roadblock. Don't worry—Help is on the way!” Suchsubjective judgments can be generated based on any suitable data, suchas time spent on the system, amount of work done, repetition of wronganswers to questions, and a high number of wrong answers to questions onthe same concept.

An example of a user interface 300 illustrating examples of a quiz 302,a progress report 304, a prediction report 306, a syllabus 308, andprogress bars 310 and 312 is shown in FIG. 3. Quiz 302 can be anysuitable quiz and can be of any suitable format. For example, quiz 302can be a retention quiz that includes multiple-choice questions.Progress report 304 can be used to display any suitable progressinformation for a student. For example, a progress report can be used toshow a student's percentage of questions answered correctly in a varietyof GMAT subjects (e.g., arithmetic, algebra, geometry, statistics,reading comprehension, sentence correction, analytical reasoning, etc.).Prediction report 306 can be used to show what score a student mightreceive if it were to take a test being prepared for on the day of thereport. For example, as shown, if the student were to take the GMATexamination today, the student's score would be around 520. Syllabus 308can be used to show learning activities that have been assigned to thestudent. For example, the syllabus may indicate that the student hasbeen assigned to take class #6, a retention quiz, a triangles videolesson, etc. In some embodiments, syllabus 308 can be presented as acalendar, or portion of a calendar. Progress bars 310 and 312 can beused to reflect the student's level of mastery as determined by contentconsumed and assessments administered. While the progress bar can beshown for a whole syllabus, it can also be shown for courses, lessons,concepts, content, or any other suitable combination of knowledge.Content may be accessed by clicking on the progress bar. Alternatively,clicking the progress bar may cause a concept map view including therelated concept to be presented as described below in connection withFIG. 19.

Turning to FIGS. 4-11, examples of processes that can be used to controlthe presentation of learning content to a student in some embodimentsare illustrated. More particularly, FIG. 4 shows a general process 400for a learning session that can be used in some embodiments. Afterprocess 400 begins at 402, the process determines if the student has asyllabus. This determination can be made in any suitable fashion such asby checking a database of syllabuses for a syllabus associated with thestudent. If it is determined that a syllabus does exist, then theprocesses gets the syllabus at 406. Otherwise a syllabus is created at408.

The creation of a syllabus at 408 can be performed in some embodimentsas shown in process 500 of FIG. 5, although any other suitable processfor creating a syllabus can additionally or alternatively be used. Asshown in process 500, after the process begins at 502, an assessment ofa student on a course topic can be performed at 504. The assessment caninclude a sample test which can be administered under test-likeconditions. Additionally or alternatively, the assessment can includequestions designed to test very few concepts. The assessment can includeTrue/False questions, which, while subject to guessing, yield a largenumber of data points in a short period of time. These data points maypresent a pattern which reveals a student's areas of strength andweakness. The assessment can include questions that require the studentto generate a response. Such questions lower the possibility ofguessing. The assessment can be focused on a limited number of conceptsthat appear early in the course. This may allow the system to generate amore accurate starting point for the student's syllabus than would bepossible with an assessment that consists of questions that test manyconcepts. This may also allow the system to generate a student's profileon concepts that will be taught and assessed immediately in the course.

In some embodiments, an assessment can be performed as illustrated inprocess 600 of FIG. 6. As shown, after process 600 begins at 602, afirst question for the assessment is selected at 604. This firstquestion can be selected using any suitable mechanism, includingrandomly or based upon a pre-determined starting point. At 606 thequestion can next be presented to the student. Presentation of thequestion can be performed in any suitable manner, such as by displayingit on a computer display, playing audio of the question, etc. An answerfrom the student can next be received and stored at 608. This answer canbe entered by the student using any suitable user-input device, such asa keyboard, mouse, voice recognition systems, etc. At 610, it can thenbe determined whether the student has met a threshold to end theassessment. Any suitable threshold can be used. For example, a thresholdcan be based on the a percentage of the total number of questions in theassessment answered correctly, based upon answering a certain number ofquestions, based upon spending a certain amount of time on the quiz,based on a certain number of points reached for questions havingdifferent point values, based on reaching a certain level of difficultyof questions by correctly answering lower level questions, by answeringall of the available questions, etc. If the student has met thethreshold, a student mastery profile for this student and concept can beupdated at 612 and process 600 terminated at 614.

If it is determined that the student has not met the threshold, however,process 600 can then determine at 616 if the student is taking anadaptive assessment. An adaptive assessment can include an assessmentthat varies questions based criteria, such as a student's response toprevious questions. If the assessment is determined to not be adaptive,then a next, previously unseen question can be selected at 618 and 620,and the next question presented by looping back to 606.

If it is determined, at 616, however, that the assessment is adaptive,then, at 622, it can be determined if the next question is to beselected based on the previous answer. If the next question isdetermined to not to be selected based on the previous answer, then thenext question is selected based on other criteria (which can be anysuitable criteria) at 624, and the next question presented by loopingback to 606.

If it is determined at 622 that the next question is to be selectedbased on the previous answer, then at 626 it can be determined if thestudent answered the previous question correctly. If the student didanswer the previous question correctly, then the next question can beselected at 628 based on the previous correct answer and any othersuitable criteria. Otherwise, the next question can be selected at 630based on the previous incorrect answer and any other suitable criteria.After the next question has been selected at 628 or 630, that questioncan then be presented by looping back to 606.

For example, in some embodiments, when a next question is to be selectedbased on the previous answer, and the previous answer was incorrect, aless difficult question can be selected. Difficulty can be based uponexpert judgment. Difficulty can also be determined by user statistics.User statistics can come from measuring student performance on aquestion by subgroup (such as looking at how many high performingstudents answered a question correctly). Difficulty can also becalibrated. Questions can be selected from a pre-defined subgroup ofquestions. Additionally or alternatively, questions can be drawn from anunrestricted pool and selected based on categorization tags applied tothe questions and on difficulty levels associated with the questions.The next question can additionally or alternatively be selected based onadditional selection criteria, such as the ability of the next questionto differentiate between test takers, the expected difficulty of thequestion relative to the ability of the test-taker, the ability orlikelihood of the test taker to guess on the next question, etc.

Returning to FIG. 5, once the assessment has been performed at 504, theresults of the assessment can be stored in a student performancedatabase at 506. Any suitable performance data can be stored, such asthe answers to each question, the score obtained, the highest level ofdifficulty of question answered correctly, the specific conceptsanswered correctly, the specific concepts or questions answeredincorrectly, etc. At 508, the student concept mastery profile can beupdated. Concept mastery can be defined as achieving a certainpercentage of the question set correctly answered. Concept mastery canadditionally or alternatively be defined as a student correctlyanswering a question at a particular difficulty level. Concept masterycan additionally or alternatively be defined as a student reaching acertain theta (expected ability level).

The student's concept mastery profile and performance on the assessmentcan then be used, at 510, to tailor the student's initial syllabus tothe student by selecting lessons and/or concepts addressing areas wherethe student has not mastered the assessed concepts. Tailoring caninclude, but is not limited to, altering the default difficultly levelof questions presented in the course, recommending additional workshops,changing the student's schedule by adding or removing required lessonsand/or concepts, etc. Content may include, but is not limited to,explanatory material, classes (live or archived), videos, short or longformat games, game-like content, interactive content, tutorials, etc.

At 512, lessons and/or concepts highly related and/or correlated to thelessons/concepts in the student's syllabus can also be identified andadded to the syllabus in some embodiments. In this way, concepts may belearned more easily in some embodiments by learning a group of relatedconcepts together. Finally, at 514, process 500 may terminate.

Returning to FIG. 4, after getting a syllabus at 406 or creating asyllabus at 408, process 400 can next determine at 410, based on thesyllabus, whether a concept or lesson is to be taught. If a concept isto be taught, the next concept from the syllabus can be assigned to thestudent at 412. Otherwise, the next concept from a lesson to be taughtis assigned to the student at 414.

Turning to FIG. 7, an example of a process 700 for assigning a conceptfrom a lesson that can be used in some embodiments is illustrated. Asshown, after beginning at 702, the process can first determine whetherthe lesson is adaptive at 704. This determination can be made based onthe parameters of the lesson. If the lesson is determined to not beadaptive, then the next concept in the lesson can be selected andassigned at 706. Otherwise, if the lesson is determined to be adaptive,then the student's learning profile can be retrieved from a database at708, and the next concept in the lesson selected based on the studentlearning profile. For example, in some embodiments, the student learningprofile can indicate the most-effective content types and learningstrategies for a student for each concept, and can be used to predictand select optimal content for a student for a given concept or group ofconcepts. The student learning profile can include the most effectivemedia type (such as, but not limited to, video versus text) for astudent to learn a concept, student ability level, student performancewith regards to question order and difficulty, etc. Once the nextconcept is assigned at 706 or 710, process 700 can terminate at 700.

Returning to FIG. 4, once a concept has been assigned at 412 or 414, thematerials for the assigned concept can then be presented at 416 usingany suitable approach. In some embodiments, for example, materials foran assigned concept can be presented as described in a process 800 shownin FIG. 8. As illustrated, after process 800 begins at 802, the processcan first select a strategy to teach an assigned concept at 804. Anysuitable mechanism can be used to select a strategy.

As described above, a strategy is a way in which a concept can be taughtto a student. For example, one strategy can be to teach using videocontent. A strategy can include permutations or combinations of studentactions. A strategy can include a student viewing content in a neworder, a student mastering one concept before another, a student viewinga new piece of content prior to mastering a concept, etc. As a strategyfor teaching a concept proves to be more and more effective, it may bemore likely that this strategy will be selected for teaching thatconcept to other students. In this way, effective content is presentedto students. To facilitate selecting the best strategies, content withinthe database can be scored so that content with higher scores indicatesthat that content is more effective for students at a given level ofmastery or having a given learning style. Each time a student consumes anewly uploaded or created piece of content, that student can create anew strategy, which can then be used to teach other students.

For example, a process 900 of FIG. 9 can be used to select a strategy insome embodiments. As illustrated, in this process, after beginning at902, highly related or correlated concepts to the assigned concept canbe identified at 904. Any suitable relationship and/or correlationbetween concepts can be used in some embodiments. For example, twoconcepts may be related and/or correlated because one is in the samecategory as another, because one builds upon another, because one isanalogous to another, etc. Next, at 906, other students having similarcharacteristics to the present student for the assigned concept orhighly related and/or correlated concepts can be identified. Anysuitable characteristics and/or criteria for determining that the otherstudents are similar to the present student can be used in someembodiments. For example, two students can be determined as havingsimilar characteristics if they both learn well from similar types ofmaterials (e.g., videos). Strategies for teaching the assigned conceptcan then be identified based on the success of the strategies for theother students at 908. Any suitable mechanisms can be used to determinethe success of the strategies for the other students, and foridentifying those strategies for the assigned concepts. For example, astrategy can be determined as being successful if it results in asuccessful assessment after being presented. Next, at 910, factor(s)relevant to the student's mastery of other concept can then beidentified. Any suitable factors can be used, and any suitable techniquefor identifying these factors as being relevant can be used. Forexample, factors can include whether the content is in a specific mediatype (e.g., video, cartoon, cross word puzzle, etc.), the frequency withwhich content is delivered (e.g., once per week for six weeks, with areview one month later), the length of a session in which content ispresented (e.g., 15 minutes versus 90 minutes), the level of difficultyof the content (e.g., too hard, too easy, etc.), the number and type ofquestions (e.g., 100 true/false questions versus 20 case studyquestions), whether the content is delivered with related content, etc.As another example, techniques that can be used to identify factors asbeing relevant to the student's mastery of concepts can includereviewing the student's pre-determined learning style, the student'spast performance on assessments when a factor is present, the amount oftime a student spends learning when a factor is present, the currentlevel of ability of the student, etc. Finally, based on the success ofstrategies for other students and the factors identified as beingrelevant to the student's mastery of other concepts, a strategy for theassigned concept can be selected at 912. Any suitable technique can beused for selecting this strategy. For example, a strategy can beselected by weighting factors determined to be relevant to the student'smastery of concepts based on any suitable criteria (e.g., such as anassessment score, how those criteria impact other students, etc.). Theweighting approach can be changed dynamically in some embodiments. Asanother example, a strategy can be selected by identifying one strategyfrom a given number of the most-successful strategies for other studentsthat has the highest number of factors relevant to the teaching of thepresent student. Once the strategy has been selected, process 900 canterminate at 914.

Turning back to FIG. 8, once a strategy for teaching a concept has beenselected at 804, content consistent with that strategy for the conceptcan then be presented at 806. The content can be presented in anysuitable manner consistent with the strategy. For example, if thestrategy indicates that the content should be presented as video, thenthe content can be presented on a video display to the student. Afterthe content is presented, an assessment of the student's knowledge canbe administered at 808. Any suitable technique for administering anassessment can be performed, for example as illustrated and describedabove in connection with FIG. 6. Next, at 810, it can be determined ifthe student mastered the concept. Any suitable technique can be used todetermine if the student mastered the concept. For example, conceptmastery can be defined as achieving a certain percentage of the questionset correctly answered. Concept mastery can additionally oralternatively be defined as a student correctly answering a question ata particular difficulty level. Concept mastery can additionally oralternatively be defined as a student reaching a certain theta (expectedability level).

If it is determined at 810 that the student did master the concept, thenat 812, it can be determined whether the student mastered the conceptprior to 806. If so, process 800 can terminate at 820. Otherwise,process 800 can update the concept mastery profile for the student toreflect the new mastery of the concept at 814, update the student'slearning profile at 816 (e.g., by storing the number of questions neededto achieve mastery, the time take to master the concept, when thestudent saw the content for the concept, the type of content from whichthe concept was mastered, etc.), and update the strategy database toreflect the effective strategy at 818, and then terminate at 820.

An example of an approach to updating the strategy database inaccordance with some embodiments is illustrated as process 1000 in FIG.10. As shown, after process 1000 begins at 1002, any suitableinformation about the strategy can be stored at 1004. Next, at 1006, thestrategy can be compared to other similar strategies. For example, thecomparison can compare relative improvements of students based on theexposure to each strategy. Based on this comparison, at 1008, it can bedetermined whether the strategy is effective enough to replicate. Forexample, strategies that did not result in a better improvement inperformance than other strategies can be deemed as not being effectiveenough to replicate. In such situations, the strategy can be archived at1010 and process 1000 terminated at 1014. Otherwise, process can makethe strategy available for use by other students in the strategyselection process (e.g., as illustrated in FIG. 9).

Returning to FIG. 8, if it is determined at 810 that the student has notmastered the concept, then process 800 can determine at 822 if it shouldtry another strategy. Any suitable technique for determining whether totry another strategy can be used. For example, the process can determineto try another strategy if the previously selected strategy was verysimilar in likelihood of successfully teaching the concept to otherstrategies. If it is determined to try another strategy, then anotherstrategy can be selected at 824 as described above in connection with804. After another strategy has been selected, or if it is determinedthat another strategy is not to be selected, additional content relatedto the concept can then be selected at 826 based on the student'slearning profile. For example, additional content related to the conceptcan be selected that has characteristics consistent with the student'slearning profile (e.g., content that is in video format when the user'slearning profile indicates that the user learns well with videocontent). As another example, additional content can be selected basedon content difficulty, content effectiveness for a particular populationor subpopulation, content effectiveness for a student's learning style,content media format, the length of time it took students to masterconcept after seeing content (content efficiency), etc.

As another example, in some embodiments, additional content can be amini-class session. This session can include a deeper discussion ofconcepts discussed in core content of the concept. This can mean a morebasic discussion of key concepts for the benefit of students who needadditional help, or it can mean a more in depth and detailed discussionfor the benefit of advanced students. Additionally, these mini-classsessions can cover concepts that were not a part of the core curriculumor content. Mini-class sessions can vary in length and be any suitablelength (e.g., such as ten minutes or an hour). These mini-class sessionscan include a single type of content or multiple content and mediatypes. Mini-class sessions can include questions. Some mini-classsessions can be targeted at specific populations or subgroups. Somemini-class sessions can be automatically assembled. Some mini-classsessions can be predefined by a user or an instructor.

Next, at 828, it can be determined if the student has been presentedwith this additional content previously. If so, then it can bedetermined at 830 whether the student should be presented with thiscontent again. Any suitable technique can be used to determine if thestudent should be presented with this content again. For example, if thestudent learns well from reviewing the same materials multiple times,then it may be determined that the student is to be presented with thecontent again and process 800 can proceed to 832 to present the content(e.g., as described above in connection with 806). Otherwise, if it isdetermined that the student is to not be presented with the contentagain, then process 800 can loop back to 826 to select other additionalcontent.

After the additional content is presented at 832, another assessment canbe administered at 834. Any suitable technique for administering anassessment can be performed, for example as illustrated and describedabove in connection with FIG. 6. Next, at 836, it can be determined ifthe student mastered the concept. Any suitable technique can be used todetermine if the student mastered the concept as described above inconnection with 810. If it is determined that the student has masteredthe content, then process 800 can loop to 812. Otherwise, process 800can loop to 826 to select additional content.

Returning to FIG. 4, after concept materials are presented at 416,process 400 determines at 418 whether the student's study session iscompleted. If the study session is not completed, then process 400selects the next concept from the syllabus or lesson (e.g., as describedabove in connection with 414). Otherwise, process 400 updates thestudent's syllabus at 422 and terminates at 424. Any suitable techniquefor updating the syllabus can be used in some embodiments. For example,process 1100 of FIG. 11 can be used to update the syllabus. As shown,after beginning at 1102, process 1004 can retrieve the concept masteryprofile for the student from the database. Next, at 1106, the processcan retrieve the completed and/or viewed content for the student fromthe database. The lesson(s) and/or concept(s) in the syllabus can thenbe updated based on the student's mastery of concepts, completed and/orviewed content, etc. Once the syllabus, has been updated, process 1100can determine whether the student has completed the pre-requisites forthe next lesson(s) and/or concept(s) at 1110. If it is determined thatthe student has completed the pre-requisites, the student can be allowedto access content related to the next lesson(s) and/or concept(s) at1112 and process 1100 terminated at 1114. Otherwise, the pre-requisitesfor the next lesson(s) and/or concept(s) can be displayed at 1116, thestudent warned or prevented from being presented with content related tothe next lesson(s) and/or concept(s) at 1118, and process 1100terminated at 1114.

Turning to FIGS. 12-17, processes through which teaching content can beentered and managed in accordance with some embodiments are described.For example, as shown in FIG. 12, a process 1200 for submitting contentby a user is illustrated. The user can be a content generator or aperson who has acquired the content, either of which can be a teacher,for example. After process 1200 begins at 1202, the process receives andstores content at 1204. A user can enter content into the system in anysuitable fashion. For example, a user can enter content through any textbased system such as word processing software or a web browser. A usercan additionally or alternatively upload content in file form through afile upload interface in a web browser or through a file transferprotocol. A user can additionally or alternatively enter content byspeaking into a microphone or by speaking into a camera. A user canadditionally or alternatively enter content through a web-basedauthoring system. Uploaded content can be in any suitable format. Forexample, in some embodiments, content can be uploaded in an un-editableformat. In some embodiments, when uploaded in an un-editable format, thecontent can subsequently be converted to an editable format tofacilitate editing as described herein. Content can be stored in anysuitable fashion. For example, content can be stored in a field in adatabase or table. Content can also exist as a pointer to another fileor database instead of being stored directly in a table.

Next, at 1206, it can be determined if the content is tagged. Contenttagging is a process through which the content is categorized. Forexample, a question can be about Geometry; Triangles; Isosceles RightTriangles; 3:4:5 Isosceles Right Triangles; 6:8:10 Multiple of 3:4:5Isosceles Right Triangles; etc. Each of these can be a tag. In additionto tagging by conceptual topic, content can also be tagged by difficulty(how difficult a given question is), type (word problem, chart, graph,true/false question, etc.), format (text content, live video content,canned video content), etc. Any suitable approach for tagging contentcan be used in some embodiments. For example, content can be tagged byassigning to a field in a database a value that corresponds to a tag.Tags can may be text or numerical, and/or include symbols. If it isdetermined that the content is tagged, it can be determined at 1208 itthe user wants to change the tags on content. Any suitable technique canbe used for making this determination. For example, the user can beasked if he or she wants to change the tags on the content. As anotherexample, pre-defined user preferences can also determine whether theuser wants to alter the tags on a piece of content. As part of changingtags, a user can also add or remove tags. If it is determined that theuser does not want to change tags, then process 1200 can terminate at1210.

If it is determined that the user does want to change tags, however,then at 1212 the user can be enabled to search for tags. Any suitablemechanism for enabling the user to search for tags can be used. Forexample, the user can be provided with a search engine for searchingtags in some embodiments. Such an engine can enable the user to searchexisting tags by multiple or a singular search terms. Such an engine canadditionally or alternatively enable the user to search by whole words,partial words, and/or numbers. Such an engine can additionally oralternatively enable the user to use multiple search criteria or asingle search criterion. As another example, the user can be presentedwith a list of available tags that can be browsed manually.

At 1214, it can then be determined if the tag the user searched forexists. If it is determined that the tag does not exist, then at 1216the tag searched for by the user can be created. Any suitable approachfor creating a tag can be used. Additionally or alternatively, the usercan create tags by uploading a file containing tags, importing them fromanother source, etc. The user can also enter tags via a text basededitor, web browser, etc. If it is determined at 1214 that the tagexists, or after the tag has been created at 1216, process 1200 can thenreceive a user selection of a tag and apply it to the content. Asdescribed above, application of a tag to content can be performed in anysuitable manner, such as by entering it into a field in a databaseassociated with the content.

Next, at 1220, process 1200 can also suggest tags. Tags can be selectedfor suggestion in any suitable manner. For example, tags can be selectedfor suggestion as described below in connection with FIG. 13. As anotherexample, content can be analyzed to determine its type (e.g., audio,video, text, etc.) and its content. This analysis can look for keywords,symbols, variables, etc. in content. This analysis can additionally oralternatively search content (such as a video) to determine its semanticcontent and suggest tags. The user can then select to apply any or allof the suggested tags at 1221.

At 1222, process 1200 can then receive a user selection of tags to beremoved from the content. For example, a user can be enabled to removeautomatically applied tags or tags that were previously manuallyselected by the user or another user. After the user has been given theopportunity to remove tags, process 1200 can then terminate at 1210.

If at 1206 it is determined that the content is not tagged, process 1200can then determine at 1224 if the user wants to tag content manually orautomatically. This determination can be made in any suitable fashion,such as by prompting the user or by checking a preference setting. If itis determined that the user wants to manually tag content, process 1200can then branch to 1212 and proceed as described above. Otherwise, theprocess can select tags for the content. Any suitable process forselecting tags can be performed, such as that described below inconnection with FIG. 13. Once the tags for the content have beenselected, the tags can be applied to the content at 1228 and the usergiven the opportunity to remove tags at 1222 as described above.

As mentioned above, FIG. 13 illustrates an example of a process 1300 forautomatically-selecting a tag for content in accordance with someembodiments. As shown, after process 1300 begins at 1302, the processcan receive a user selection of content. This selection can be receivedin any suitable manner. For example, the selection can be received fromanother process in which the selection was previously made or can bereceived by prompting the user for a selection. Next, at 1306, the userselection can be compared to other content (which can be any othercontent available to process 1300, or a subset thereof). This selectioncan be made in any suitable manner using any suitable criteria orcriterion. For example, media format, concepts used or tested, contentstructure, text, symbols, words or phrases contained in the content,etc. can be compared to determine similarity.

Next, at 1308, it can be determined if the user-selected content issimilar to the other content so that the tags of the other content canbe considered for application to the user-selected content. Similaritycan be based on any suitable criteria or criterion. For example, process1300 can consider media format, concepts used or tested, contentstructure, text, symbols, words or phrases contained in the content,etc. If the content is determined to be not similar, process 1300 canloop back to 1306 to compare other content. Otherwise, at 1310, theprocess can then determine whether the user-selected content already hasthe tags of the other content. If the user-selected content does havethe same tags, then process 1300 can loop back to 1306 to compare othercontent. Otherwise, it can be determined if the lags are applicable at1311. If so, the tags of the other content can be selected at 1312.Otherwise, the process can proceed to 1314.

At 1314, process 1300 can next compare the user-selected content to theavailable tags. In doing so, the user-selected content can be searchedfor keywords, symbols, numbers, or phrases that to see if they match anavailable tag. If it is determined at 1316 that the user-selectedcontent does not match a tag, then the process can continue comparingother tags by looping back to 1314. Otherwise, process 1300 candetermine at 1318 if the content already has the matched tag. If thecontent already has the tag, then the process can loop back to 1314.Otherwise, the process can select the tag at 1320. Then, process 1300can determine if there are any other tags to compare at 1321. If so, theprocess can loop back to 1314. Otherwise, the process can terminate at1322.

Turning to FIG. 14, a process 1400 for creating an assessment inaccordance with some embodiments is illustrated. As describe above,assessments can contain any suitable mechanisms for evaluating studentknowledge, such as True/False questions, multiple choice questions, freeresponse questions, and/or any other suitable questions. After process1400 begins at 1402, the process can determine if the user wants tomanually set the assessment length at 1404. This determination can bemade in any suitable manner, such as by prompting the user or checking apreference setting. If it is determined at 1404 that the user does notwant to set the assessment length, process 1400 can then select themaximum assessment length. For example, the process can determine thatthe assessment will not be more than a given number of questions. Next,at 1408, the process can set the minimum assessment length. At 1410, thetime allotted for the assessment can be set. For example, ten minutesmay be allocated for the assessment. If it is determined at 1404 thatthe user does want to manually set the assessment length, then process1400 can receive a manual selection of the maximum assessment length at1412, a manual selection of the minimum assessment length at 1414, and amanual selection of the time allotted for the assessment at 1416.

After the time allotted for the assessment has been set at 1410 or 1416,the process can determine if the user wants to manually add questions tothe assessment at 1418. This determination can be made in any suitablemanner, such as by prompting the user, checking a preference, etc. If itis determined that the user wants to manually add questions to theassessment, then at 1420 the user can be enabled to search forquestions. Any suitable mechanism for enabling the user to search forquestions can be used. For example, a search engine (e.g., for searchkeywords, tags, etc.) can be provided, or the user can be presented witha list of questions. At 1422, the user can then select a question foundat 1420 and add the question to the assessment. Additionally oralternatively, in some embodiments, the user can receive a question fromthe user at 1424. Any suitable mechanism for receiving a question can beused. For example, the user can upload a question in a file. As anotherexample, the user can manually type in a question. Next, the user canremove questions if desired at 1425, and then the process can terminateat 1426.

If it is determined at 1418 that the user does not want to manually addquestions to the assessment, process 1400 can then receive a userselection of assessment parameters at 1428. Any suitable parameters canbe used, such as content difficulty, certain concepts, certain tags,certain lessons or classes, etc. Next, at 1430, the process can selectquestions consistent with the parameters selected. Any suitable approachto selecting questions can be used. For example, the parameters selectedby the user can be compared to the parameters of the questions and thequestions selected if the parameters are close enough. Once thequestions are selected, process 1400 can branch to 1425 to enable theuser to remove questions, and then terminate at 1426.

In some embodiments, it may be desirable to be able to copy contentpreviously submitted so that the content can be changed slightly withoutre-creating the entire content from scratch. For example, this may bedesirable when replicating assessment questions. A process 1500 that canbe used to clone content in some embodiments is illustrated in FIG. 15.As shown, after process 1500 begins, the process can receive a userselection of content to be cloned. This user selection can be receivedin any suitable fashion. For example, a user can pick the content from alist or after finding the content using a search engine (e.g., usingtags or keywords). Next, at 1506, a user selection of the number ofclones desired can be received. At 1508, a user selection of the desiredcharacteristics of the cloned content can be received. Characteristicscan be structural characteristics in some embodiments. For example, auser may begin with a question that has Roman numeral statements andrequires the system to produce versions that test the same concept(s),but in a word problem format. As another example, a user may want amultiple choice question to be cloned in a true/false or studentgenerated response format.

At 1510, a user selection of the desired difficulty for the clonedcontent can be selected. When the user has selected more than one itemof content to clone, the user may elect to require the same difficultyfor versions of each item of content. Alternatively, the user mayspecify the number of versions at a specific difficulty level for eachitem of content that he or she desires. The user may elect to specify anumber of variations at a specific level of difficulty for all items andchange the number of versions required at a specific difficulty levelfor specific items.

Process 1500 can then search the user selected content at 1512. Anysuitable technique for searching the user-selected content can be used.For example, the process can search the content for the concepts tested,content structure, keywords, symbols, phrases, numbers, etc. Coreelements and variables in the content can then be identified at 1514.Core elements may pertain to the concepts tested by an item. Variablesmay pertain to elements of the content that may be changed withoutaffecting the core concepts tested by that content. Examples ofvariables can include the “x” in the statement x²+2. Another example isthe setting of a logic problem.

Next, at 1516, process 1500 can change the variables in a question.Examples of changing variables can include changing the “x” in thestatement x.sup.2+2 to “y” to produce the statement y.sup.2+2. Anotherexample is changing the setting of a logic problem from an airport to abus station. The cloned question can then be displayed to the user at1518, and the estimated difficulty for the cloned question estimated at1520. Difficulty of the cloned question can be estimated based upon ananalysis of the text of a cloned item of content, comparison of thecloned content with the original content (which may have had adifficulty rating), comparison of difficulty with other similar content,etc.

At 1522, it can be determined if the user wants to edit the clonedcontent. This determination can be made in any suitable manner, such asby prompting the user or checking a preference setting. If it isdetermined that the user wants to edit the question, then the user canbe allowed to edit the content at 1524. Otherwise, or after the contentis edited, the cloned content is stored at 1526 and process 1500terminated at 1528.

A process 1600 for creating a lesson and/or course in accordance withsome embodiments is now described in connection with FIG. 16. As shown,after process 1600 begins at 1602, the process can determine if the userwants to manually add content to the lesson/course at 1604. Thisdetermination can be made in any suitable manner, such as prompting theuser or checking a preference setting. If it is determined that the userdoes want to manually add content, then at 1606 the process can receivea user selection of tags associated with the desired content andlesson/course. The user selection can be made from any suitableinterface. For example, the user can select tags from a list of tags, adata entry field, etc. Next, at 1608, the user can select content to beadded to the lesson/course. This content can be selected in any suitablemanner. For example, the user can select this content from a list ofavailable content (which can be generated based on the tags selected),by entering the content (e.g., in a data entry field, from a file,etc.), etc. Next, user selections of content to be removed from alesson/course can be received at 1612 and then process 1600 canterminate at 1614. The user may desire to remove content that waserroneously included in the lesson/course or that was entered during aprevious creation or editing of the lesson/course.

If it is determined at 1604 that the user does not want to manually addcontent to the lesson/course, then at 1616 process 1600 can receive auser selection of parameters for lesson/course content. Sampleparameters can include difficulty, certain concepts, certain tags,learning profile score, discrimination, ability level, media type, etc.At 1618, the process can then assemble content based on the parameters.For example, content can be added to the lesson/course having tags,keywords, etc. that are consistent with the parameters. Next, it can bedetermined if the user wants to add more content. This determination canbe made in any suitable manner, such as prompting the user or checking apreference setting. If the user does want to add more content, then theprocess can loop back to 1604. Otherwise, the process can proceed to1612 to enable the user to select content to be removed as describedabove.

There is a very large community of talent around the world havingmembers who possess expertise and would like to be paid to share thatexpertise, but have previously lacked the infrastructure to do so.University professors, scientists, researchers, handymen, artists,celebrities, and many others all have a valuable level of training andexpertise. To facilitate these individuals being able to sell contentrelated to concepts in which they have expertise, in some embodiments,an online marketplace to purchase, sell, and manage content can beprovided. Content in this marketplace can include canned video, livevideo lessons, interactive text, rich media, and/or any other suitablecontent, and/or any combination thereof. Using the online marketplace,users can be able to: post content to a central server for securestorage; use authoring tools to create, change, or edit content moreeffectively than they do now; use an auto-tagging algorithm to lag allof their content; produce adaptive learning syllabi; manage live orpre-recorded classroom sessions; etc. Other uses can then view theofferings in a marketplace. An example of a user interface for viewingsuch offerings is illustrated as interface 1700 of FIG. 17. As shown,this interface includes daily feature content 1702, monthly featuredcontent 1704, content organized by academics 1706, and content organizedby other general interest categories 1708. Of course, any suitableinterface can be used for a content marketplace.

An example of a process that can be used to provide such a marketplacein accordance with some embodiments is illustrated in FIG. 18. As shown,a process 1800 can begin at 1802 and then receive uploaded content at1804. This content can be uploaded in any suitable fashion (as describedabove), such as by receiving the content using a Web site uploadinterface. Next, at 1806, the content can be tagged. Any suitablemechanism for tagging the content can be used. For example, theuploading and tagging can be performed as described above in connectionwith FIGS. 12 and 13. At 1808, the user can be able to edit the content.Any suitable mechanism can be provided to enable the user to edit thecontent. For example, a Web-site-based document editor can be provided.To the extent the content uploaded is not in an editable format whenreceived, in some embodiments, the content can be converted to aneditable format. Next, at 1810, a user created adaptive assessment canbe received. Any suitable technique for receiving this assessment can beutilized. For example, an assessment can be created as described abovein connection with FIG. 14. The user can also create an adaptive lessonor course for the content at 1812. This lesson or course can be createdin any suitable manner, such as described above in connection with FIG.16.

Then, at 1814, user pricing of the content can be received. This pricingcan be received in any suitable way, such as a data entry field. Theuser can be assisted in establishing pricing by presenting pricingand/or descriptions of similar content with established pricing to theuser. The user can use any approach for establishing pricing. Forexample, the user can set a flat, defined fee for his or her product, orthe user can allow the market to set the price through an auction.Alternatively, the user can have variable pricing, packages, or volumediscounts. Thus, the user has freedom to price his or her content as heor she deems appropriate.

Once the user is satisfied with his or her submission, the user'spermission to make the content available to others can be received at1816. This permission can be granted in any suitable manner.

Other users who are interested in accessing available content cansubsequently perform searches for content at 1818. Any suitablemechanisms can be used to perform these searches (similarly to othercontent searches as described above). For example, searches can beperformed using a search engine or by being presented with a list ofavailable content. Next, at 1820, the content (or a portion thereof)and/or content data (such as an abstract of the content, number ofpeople who have viewed content, number of people who have purchasedcontent, user ratings, reviews, sample content, effectiveness andranking of content, content creator, etc.) can be presented to otherusers. Purchasing information (such as a credit card number, promise topay, etc.) can then be received from the other users at 1822. Then, at1824, the content can be presented to the other users in any suitablefashion, such as described above. Finally, at 1826, the feedback onstudent performance related to the content can be provided to the userassist the user in improving the content, and then process 1800 canterminate at 1828.

In some embodiments, a concept map view can be presented to assist auser in understanding how concepts relate to one another. An example ofa concept map view 1901 is presented in an interface 1900 of FIG. 19. Asshown, multiple levels of concepts 1902, 1904, and 1906 are presented.Each concept at a level can be related to the concept at the next higherlevel (e.g., level 1902 is at a higher level than level 1904, and level1904 is at a higher level that level 1906) indicated by an arrow 1908 or1910. Thus, for example, all of the concepts indicated in level 1906 arerelated to subtraction, and all of the concepts indicated at level 1904are related to arithmetic. The user can click on any of the conceptslisted to be presented with corresponding content.

FIG. 20 shows an example of a performance breakdown display forestimated performance on a test that can be used in some embodiments. Asshown, this display shows an estimated overall score at region 2002, averbal breakdown at region 2004, and a math breakdown at region 2006.Within region 2002, the display shows the total estimated score forverbal and math portions of the test, the total estimated combined scorefor the test, and how such a score would position the student withrespect to different goals (e.g., a top 100 business school, a top 50business school, and a top 10 business school). Within regions 2004 and2006, the verbal and math portions of the test show the student'sperformance in different portions of verbal and math as the studentprogresses. Although the performance breakdown display of FIG. 20 isillustrated in connection with math and verbal portions of a test, andfurther broken down as illustrated, this display can be used with anysuitable portions of a test, and even study that is not in preparationfor taking an examination.

FIG. 21 illustrates an example of hardware that can be used to implementsystems in accordance with some embodiments. As shown, system 2100 caninclude a server 2102 and one or more user devices 2104. Server 2102 anddevices 2104 can be any suitable server, data processing device,personal computer (such as a desktop computer, a laptop computer, atablet computer, a pen-based computer, etc.), a personal digitalassistant, a set-top box, a game console, a digital video recorder, amedia center computer, a home automation computer, an appliancecomputer, etc. for providing functions and user interfaces as describedherein. Server 2102 and devices 2104 can be connected via communicationnetwork 2106 and/or connections 2108. Communication network 2106 andconnections 2108 can be any suitable connections for coupling server2102 and devices 2104, can be a wired connection, a wireless connection,or a combination of the same, and can include any suitable communicationnetwork, such as the Internet, a local area network, a wide areanetwork, a wireless network, a telephone network, a cable network, asatellite network, etc. Server 2102 may communicate with devices 2104using any suitable protocol, such as the wireless application protocol(WAP), TCP/IP, etc.

In some embodiments, server 2102 may store assets in a database. Thisdatabase can be any suitable device for storing data, and may be adatabase, a disk drive, a data structure in memory, etc. The databasecan be part of or connected to server 2102.

Each of server 2102 and devices 2104 can include one or more processorsand one or more interfaces. The processor(s) in each can be any suitableprocessing devices including microprocessors, digital signal processors,controllers, etc., and may be the same or different within or betweenserver 2102 and devices 2104. The interface(s) in each can be anysuitable interface and may use any suitable protocol. The interfaces cancorrespond to the type of connection(s) used by server 2102 and devices2104. For example, server 2102 and devices 2104 can each include awireless interface when connection 2106 is a wireless connection.

The connection between server 2102 and a device 2104 can use narrow-bandaccessible live video streaming to produce the “live video” in FIG. 1.The stream can be locally buffered at device 2104 to reduce pauses inthe presentation due to transmission delays. To preserve a strong audioconnection, server 2102 can regularly ping (or otherwise test) devices'2104 connections and auto-optimizes their settings based on theirconnection speeds, changing their frame rates as necessary and, for verypoor connections, turning video off altogether (but leaving audio on).

Although the invention has been described and illustrated in theforegoing illustrative embodiments, it is understood that the presentdisclosure has been made only by way of example, and that numerouschanges in the details of implementation of the invention can be madewithout departing from the spirit and scope of the invention, which isonly limited by the claims which follow. Features of the disclosedembodiments can be combined and rearranged in various ways.

What is claimed is:
 1. A method for teaching a student in acomputer-based learning environment, comprising: identifying, using atleast one processing device, a first concept that was learned by a firststudent and that is related to a second concept to be learned by thefirst student; identifying, using the at least one processing device, afirst type of content used to teach the first concept to the firststudent; identifying, using the at least one processing device, at leastone other student that learned the first concept from the first type ofcontent; identifying, using the at least one processing device, a secondtype of content through which the at least one other student learned thesecond concept; selecting, using the at least one processing device,content corresponding to the second concept and the second type ofcontent; and causing to be presented, using the at least one processingdevice, the content corresponding to the second concept and the secondtype of content to the first student, wherein the content is part of astrategy that includes a plurality of pieces of content that are scored.2. The method of claim 1, wherein the type of content is at least one ofvideo, audio, text, problem solving, and case study.
 3. The method ofclaim 1, further comprising automatically categorizing content.
 4. Themethod of claim 3, further comprising identifying a categorization forthe content based on a comparison of the content to other content. 5.The method of claim 3, further comprising identifying a categorizationfor content based on a comparison of the content to tags.
 6. The methodof claim 1, further comprising updating a student learning profile basedup an assessment.
 7. The method of claim 6, wherein the assessment is anadaptive assessment.
 8. The method of claim 7, further comprisingselecting a question to be asked in the assessment based upon a previousanswer.
 9. The method of claim 1, wherein: at least one of selecting thecontent and presenting the content are based on at least one of: thefrequency with which content for the first concept was presented to thefirst student; and the length of time in a session in which content forthe first concept was presented to the first student.
 10. The method ofclaim 1, wherein selecting the content is based on the length of timethe first student spends learning with a type of content correspondingto the first content.
 11. The method of claim 1, further comprisingdetermining if pre-requisites corresponding to the content have been metby the first student before presenting the content.
 12. The method ofclaim 1, further comprising: determining a first score associated withthe at least one other student learning the second concept from thesecond type of content; and comparing the first score with at least oneother score associated with learning the second concept.
 13. The methodof claim 1, wherein the causing to be presented the contentcorresponding to the second concept and the second type of content tothe first student, wherein the content is part of a strategy thatincludes a plurality of pieces of content that are scored, is a firststrategy for teaching the second concept to the first student, themethod further comprising: administering an assessment of how well thefirst student learned the second concept from the second type ofcontent; and selecting another piece of content from the plurality ofpieces of content that are scored as part of a second strategy ofteaching the second concept to the first student based on the firststrategy.
 14. A non-transitory computer-readable medium containingcomputer-executable instructions that, when executed by a processor,causes the processor to perform a method for teaching a student in acomputer-based learning environment, the method comprising: identifyinga first concept that was learned by a first student and that is relatedto a second concept to be learned by the first student; identifying afirst type of content used to teach the first concept to the firststudent; identifying at least one other student that learned the firstconcept from the first type of content; identifying a second type ofcontent through which the at least one other student learned the secondconcept; selecting content corresponding to the second concept and thesecond type of content; and causing to be presented the contentcorresponding to the second concept and the second type of content tothe first student, wherein the content is part of a strategy thatincludes a plurality of pieces of content that are scored.
 15. Thenon-transitory computer-readable medium of claim 14, wherein the type ofcontent is at least one of video, audio, text, problem solving, and casestudy.
 16. The non-transitory computer-readable medium of claim 14,wherein the method further comprises automatically categorizing content.17. The non-transitory computer-readable medium of claim 16, wherein themethod further comprises identifying a categorization for the contentbased on a comparison of the content to other content.
 18. Thenon-transitory computer-readable medium of claim 16, wherein the methodfurther comprises identifying a categorization for content based on acomparison of the content to tags.
 19. The non-transitorycomputer-readable medium of claim 14, wherein the method furthercomprises updating a student learning profile based up an assessment.20. A system for teaching a student in a computer-based learningenvironment, comprising: at least one processor that: identifies a firstconcept that was learned by a first student and that is related to asecond concept to be learned by the first student; identifies a firsttype of content used to teach the first concept to the first student;identifies at least one other student that learned the first conceptfrom the first type of content; identifies a second type of contentthrough which the at least one other student learned the second concept;selects content corresponding to the second concept and the second typeof content; and causes to be presented the content corresponding to thesecond concept and the second type of content to the first student,wherein the content is part of a strategy that includes a plurality ofpieces of content that are scored.